
import Request_post from "../../../request/Request_post"
import Request_get from "../../../request/Request_get"

import config from '../../../config/config'; 


//功能页面需要再次引入notify
import Notify from '../../../miniprogram_npm/@vant/weapp/notify/notify';


Page({

	/**
	 * 页面的初始数据
	 */
	data: {

		password:"",

		num:1,



		show: false,
   
	},

	// 购买数量控制
	onChange(event) {
    console.log(event.detail);
  },



	//弹出层
	showPopup() {
    this.setData({ show: true });
  },
  onClose() {
    this.setData({ show: false });
  },



	//顶部通知栏
	onClick:function(){
		var that = this
		Notify({
			message: '支付成功',				//通知详情描述
			color: '#FFFFFF',					//通知栏字体颜色
			background: '#07C160',		//通知栏背景色
			duration: 3000,						//持续时长
		});
		
		that.setData({show:true})
		
	},

	bindinputname:function(res){
		console.log(res.detail)
	},
	bindinputpwd:function(res){
		console.log(res.detail)
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	
	WeChatPay:function(){
		var that = this
		wx.showModal({
			title: 'ABA支付 测试',
			content: '测试支付金额为0.01元，是否确认？',
			showCancel: true,//是否显示取消按钮
			cancelText:"取消",//默认是“取消”
			cancelColor:'skyblue',//取消文字的颜色
			confirmText:"确认",//默认是“确定”
			success: function (res) {
				 if (res.confirm) { //点击确认

					// 支付
					let bllno = App.globalData.mbrid + Math.round(new Date() / 1000)	// 在线充值单单号：mbrid+时间戳
					that.setData({bllno})
					/** Api请求：昆明奥博克支付 ———— 支付请求-顾客购券 **/
					Request_post.post(
						config.domainName+"api_wxmkt_server/paysvr/pay",
						{
							bllno: that.data.bllno,													//第三方业务单号：如：点餐的订单号、充值业务的XX充值单号...等等
							paysvr_tmnid: config.paysvr_tmnid,							//昆明奥博克支付平台终端号
							paysvr_chnid: "201",														//aba支付平台：201-微信支付
							paysvr_biztypid: "mbrbuycop",
							amount: that.data.payamt,												//支付金额
							open_id: getApp().globalData.wx_openid,					//付款人的wx_openid
							bizparams: {
								appid: config.as_appid,												//渠道ID
								appuserid: getApp().globalData.wx_openid,			//付款人的wx_openid
								mbl: getApp().globalData.mbl,
								echmodid: "05",
								copcltid: config.copcltid,
								echtmnid: config.echtmnid,
								mbrcltid: config.cltid,
								rulechbllno: that.data.srcbllno
							}
						}, 
						function(res){
							console.log("发起支付请求的回调：")
							console.log(res)
							if(res != 'undefinde' &&　res.return_no == 1){
								that.setData({rsn:res.return_data.rsn})
								/** Api请求：微信_Api ———— 发起微信支付 */
								wx.requestPayment({
									timeStamp: res.return_data.payment_params.timeStamp,			//发起支付请求时的时间戳
									nonceStr: res.return_data.payment_params.nonceStr,				//随机字符串
									package: res.return_data.payment_params.package,					//统一下单接口返回的 prepay_id=****（即：package的值）：
									signType: 'MD5',																					//签名算法，应与后台下单时的值一致
									paySign: res.return_data.payment_params.paySign,					//签名
									success:function(e){
										console.log("微信支付后的回调：")
										console.log(e)
										/** 支付完毕后的操作 */
										wx.showLoading({
											title: '获取支付结果',
										});
										// 开始轮询支付结果
										that.keyId = setInterval(() => {
											var numVlu = that.data.num + 1	//轮询的次数累加
											that.setData({num:numVlu})
											console.log("轮询的次数：")
											console.log(that.data.num)
											that.wxPay_Result();						//轮询时执行的方法
										},1000)	//轮询间隔时间
									}
									/**    完成支付   **/
								})
							}
						}
					)
				 }else{		//点击取消
					wx.showModal({
						title: '您取消了支付',
						showCancel: false,//是否显示取消按钮
					})
				}
			},
			fail: function (res) { },//接口调用失败的回调函数
			complete: function (res) { },//接口调用结束的回调函数（调用成功、失败都会执行）
	 })

	},


	// 微信支付结果查询，支付后轮询时调用此方法
	wxPay_Result:function(){
		var that = this
		/** Api请求 昆明奥博克支付 ———— 支付结果查询 */
		Request_get.get(
			config.domainName+"api_wxmkt_server/paysvr/payresult",
			{
				biztypid: "mbrbuycop",
				bllno: that.data.bllno,
				paybllno: that.data.rsn
			},
			function(res){
				console.log("支付结果轮询的回调：")
				console.log(res)
				if( res.return_no == 1 ){
					wx.hideLoading()
					clearInterval(that.keyId)		//终止轮询
					//终止轮询后的操作
					wx.redirectTo({
						url:"/SubpkgMarketing/pages/Coupon/GetCopSuccess/GetCopSuccess?copid="+res.return_data.bizbllno+"&msg=支付购买优惠券"
					})
				}else if(res.return_no != 1 && that.data.num == 60){    //每间隔1秒做一次轮询，轮询60次（60秒）后，还没有获得支付成功的结果就判定支付失败！。
					wx.hideLoading()
					clearInterval(that.keyId)		//终止轮询
					wx.showModal({
						title:"支付异常",
						content:"未获取到支付成功结果\r\n异常业务订单号：\r\n"+that.data.bllno,
						showCancel:false,
						success: function (res) {
							if (res.confirm) {
								wx.redirectTo({
									url:App.globalData.homePage
								})
							}
						}
					})
				}
			}
		)
	},











	// 获取用户信息
	getuserinfo:function(e){
		console.log(e)
	},


	gifpkglist:function(){
		wx.redirectTo({
			url: '/SubpkgMarketing/pages/GiftPack/AvailableGifPack/AvailableGifPack',
		})
	},



	
	


	// 登录
	onLoad: function (options) {
	
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})